【Hive】常用函数
函数 | 函数说明 | 参数说明 | 特殊说明 |
---|---|---|---|
max(struct(a, b)) | 取出当a最大时的(a,b)数组 在Hive中单独取b则 max(struct(a,b)).col2 在SparkSql中则使用 max(struct(a,b)).b | 字段a:读取最大的字段 字段b:读取a最大时b的取值 | 在Hive中单独取b max(struct(a,b)).col2 在spark中则使用 max(struct(a,b)).b 使用时注意存在多个相同的最大a,会出现问题 |
least(a, b, c) greatest(a, b, c) | 取出三列中的最小值 去除三列中的最大值 | 字段a:对比的字段值 字段b:对比的字段值 字段c:对比的字段值 | 在Hive里面不能执行? 在Spark里面ok 不同的数据类型会先转换成相同的数据类型后进行对比 |
array_contains(arr, a) | 判断数组arr中是否包含a | 字段arr:数组格式 字段啊:单值 |